package main

import "fmt"

func main() {
	/*
			1.基础形式
			switch 变量名{
			case 数值1：分支1
			case 数值2：分支1
			case 数值3：分支1
			case 数值4：分支1
			}

			2.省略
			switch 省略后面的变量，自动作用在true上
			3.多个case条件
			switch case可以写多个数值
			4.初始化

			switch 初始化语句;变量名{

			break 强制结束switch
			fallthriugh 执行下一条case（直接执行相邻的下一条case）  用于穿透switch
			fallthriugh 应该处于某个case最后一行
		}


			switch 变量名{
				case 数值1,数值2：分支1
				case 数值3：分支1
				case 数值4：分支1
				}
	*/

	/*
		成绩
		0-59 不及格
		60-69 及格
		70-79 中等
		80-89 良好
		90-100 优秀
	*/
	a := 10
	switch a {
	case 10:
		print("晚上十点见")
		print("晚上十点见")
		print("晚上十点见")
		fallthrough //这个可以应用在包含的情况下
	case 20:
		print("20点也可以？")
	}

	score := 10

	switch { //这个是真，下面就可以判断逻辑
	case score < 0 || score > 100:
		print("成绩输入错误")
	case score < 60:
		print("不及格")
	case score < 70:
		print("及格")
	case score < 80:
		print("中等")
	case score < 90:
		print("良好")
	case score < 100:
		print("优秀")
	}

	score = 20
	switch score {
	case 10, 20:
		print("10或20")
	default:
		print("其他")

	}

	/*	num := 1
		fmt.Scanln(&num)
		fmt.Println(num)
		switch num {
		case 1:
			print("春天")
		case 2:
			print("夏天")
		case 3:
			print("秋天")
		case 4:
			print("冬天")
		default:
			print("你有毒吧")
		}*/

	num1 := 0
	num2 := 0
	oper := ""
	fmt.Println("\n请输入第一个数")
	fmt.Scanln(&num1)
	fmt.Println("请输入计算符号")
	fmt.Scanln(&oper)
	fmt.Println("请输入第二个数")
	fmt.Scanln(&num2)

	switch oper {
	case "+":
		fmt.Printf("%d + %d = %d", num1, num2, num1+num2)
	case "-":
		fmt.Printf("%d - %d = %d", num1, num2, num1-num2)
	case "*":
		fmt.Printf("%d * %d = %d", num1, num2, num1*num2)
	case "/":
		fmt.Printf("%d / %d = %d", num1, num2, num1/num2)
	case "%":
		fmt.Printf("%d %% %d = %d", num1, num2, num1%num2)
	}
}
